<template>
  <div>
    <router-link
    tag="div"
    to="/"
    class="header-abs"
    v-show="showAbs">
      <div class="iconfont header-abs-back">&#xe624;</div>
    </router-link>
    <div
      class="header-fixed"
      v-show="!showAbs"
      :style="opacityStyle">
      <router-link to = "/">
        <div class="iconfont header-fixed-back">&#xe624;</div>
      </router-link>
      景点详情
    </div>
  </div>
</template>

<script>
export default {
  name: 'DetailHeader',
  data () {
    return {
      showAbs: true,
      opacityStyle: {
        opacity: 0
        // 规定不透明度。从 0.0 （完全透明）到 1.0（完全不透明）
      }
    }
  },
  methods: {
    handleScroll () {
      const top = document.documentElement.scrollTop
      if (top > 60) {
        let opacity = top / 200
        // var 声明一个变量，并可选地将其初始化为一个值。
        // let 声明一个块级作用域的本地变量，并且可选的将其初始化为一个值。
        // const 声明一个只读的常量。一旦声明，常量的值就不能改变。
        opacity = opacity > 1 ? 1 : opacity
        this.opacityStyle = { opacity }
        this.showAbs = false
      } else {
        this.showAbs = true
      }
    }
  },
  activated () {
    window.addEventListener('scroll', this.handleScroll)
    // 滚动时，执行handleScroll函数
  },
  deactivated () {
    window.removeEventListener('scroll', this.handleScroll)
    // 解绑handleScroll函数
  }
  // 当页面即将被隐藏，或被替换成新的页面的时候，deactinated生命周期钩子会被执行
}
</script>

<style lang="stylus" scoped>
  @import '~@/assets/styles/varibles.styl'
  .header-abs
    position absolute
    left 10px
    top 10px
    width 40px
    height 40px
    line-height 40px
    text-align center
    border-radius 20px
    background rgba(0, 0, 0, .8)
    .header-abs-back
      color #ffffff
      font-size 20px
  .header-fixed
    z-index 2
    position fixed
    top 0
    left 0
    right 0
    height $headerHeight
    line-height $headerHeight
    text-align center
    color #fff
    background $bgColor
    font-size 16px
    .header-fixed-back
        position absolute
        top 0
        left 8px
        width 32px
        text-align center
        font-size 20px
        color #fff
</style>
